package entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "ItemsCarta")
public class ItemCartaBD {

	@EmbeddedId
	private ItemCartaIDBD pkItemCarta;

	@OneToOne
	@JoinColumn(name = "idPlato")
	private PlatoBD plato;

	@Embedded
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "codigo")
	private RubroBD rubro;

	private Float precio;

	public ItemCartaBD() {
	}

	public void setIdCarta(Integer idCarta) {
		this.pkItemCarta.setIdCarta(idCarta);
	}

	public PlatoBD getPlato() {
		return plato;
	}

	public void setPlato(PlatoBD plato) {
		this.plato = plato;
	}

	public Float getPrecio() {
		return precio;
	}

	public void setPrecio(Float precio) {
		this.precio = precio;
	}

	public RubroBD getRubro() {
		return rubro;
	}

	public void setRubro(RubroBD rubro) {
		this.rubro = rubro;
	}

}

@Embeddable
class ItemCartaIDBD implements Serializable {
	private static final long serialVersionUID = 1L;
	private Integer idCarta;
	private Integer idItemCarta;

	public ItemCartaIDBD() {
	}

	public Integer getIdCarta() {
		return idCarta;
	}

	public void setIdCarta(Integer idCarta) {
		this.idCarta = idCarta;
	}

	public Integer getIdItemCarta() {
		return idItemCarta;
	}

	public void setIdItemCarta(Integer idItemCarta) {
		this.idItemCarta = idItemCarta;
	}

}
